package lijinyuan.service.impl;

import lijinyuan.dao.LJYDao;
import lijinyuan.pojo.Dept;
import lijinyuan.pojo.LJYPojo;
import lijinyuan.pojo.Page;
import lijinyuan.service.LJYService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

//
@Service("ljyservice")
public class LJYServiceImpl implements LJYService {
    @Autowired
    LJYDao ljyDao;

    public List<LJYPojo> showAll() {
        return ljyDao.showAll();
    }

    @Override
    public void addOne(LJYPojo ljy) {
        ljyDao.addOne(ljy);
    }

    @Override
    public List<LJYPojo> queryOne(LJYPojo ljy) {
        return ljyDao.queryOne(ljy);
    }

    @Override
    public LJYPojo showOneId(LJYPojo ljy) {
        return ljyDao.showOneId(ljy);
    }

    @Override
    public void updateOne(LJYPojo pojo) {
        ljyDao.updateOne(pojo);
    }

    @Override
    public void delOneId(LJYPojo pojo) {
        ljyDao.delOneId(pojo);
    }


    @Override
    public List<LJYPojo> queryPage(Page page,LJYPojo ljyPojo) {
        /*
        * 多值传递有三种方法：
        * 1. 在sql语句中写:#{0},#{1}...#{n}其中#{0}是第一个参数，#{1}是第二个参数
        * 2. 传递一个Map集合 在sql语句中直接调用map的key值 例如： #{key}，对应就是map中key的value
        * 3. 在dao层的方法中写上注解
        * 例如： public list<LJYPojo> queryPage(@Param("name")String name,@Param("id") Integer id);
        * sql语句中调用 #{name}与#{id}就可以了
        * 这里我用了第二种
        * */
        Map map=new HashMap();
        map.put("name",ljyPojo.getName());
        map.put("beginIndex",page.getBeginIndex());
        map.put("everyPage",page.getEveryPage());
        return ljyDao.queryPage(map);
    }

    @Override
    public List<Dept> dept_showAll() {
        return ljyDao.dept_showAll();
    }

    @Override
    public String login(String name, String password) {
        LJYPojo ljy=new LJYPojo();
        ljy.setName(name);
        ljy.setPassword(password);
        List<LJYPojo> list = ljyDao.login(ljy);
        if(list.size()>0){
            return "1";
        }else{
            return "0";
        }
    }

}
